Bandwidth demand on telecommunications networks is increasing. In response, the International Telecommunications Union (ITU) has standardized the Optical Transport Network (OTN), which is a dense wavelength division multiplexing (DWDM) network. The rates and formats of OTN constructs such as optical channel transport unit (OTU)k and optical channel data unit (ODU)k are defined in ITU-T G.709.
ITU-T G.709 has a defined number of ODUk frames; k=0, 1, 2, 2e, 3 and 4, in order of increasing rates. A lower rate ODUj frame can be multiplexed into a higher rate ODUk frame. Multi-level multiplexing is allowed. For example, eight ODU0 streams may be multiplexed into an ODU2, which may, in turn, be multiplexed along with nine other ODU2 streams, into an ODU4. FIGS. 1A and 1B shows an OTN terminating device that supports two level of multiplexing.
The de-multiplexing of Lower Order (LO) ODUj/ODUflex clients from a High-Order (HO) ODUk carrier is also performed in two logical steps, De-multiplexing and Rate Justification. The De-multiplexing step extracts a set of ODTU streams, one for each LO ODUj, from the HO ODUk. The ODTU streams are phase locked to HO ODUk. The Rate Justification step recovers the rate of each LO ODUj in relation to its ODTU by decoding the AMP or GMP Justification Controls, as defined in ITU-T G.709. An example of de-multiplexing an ODU0, an ODU1 and an ODUflex.5 occupying five TribSlots from a High-Order ODU2 is shown in FIG. 2.
The individual LO channels are not frame aligned with the HO channel frame. Each LO channel is mapped in an ODTU which is a rate justified structure that fills the Tributary Slots allotted to the LO channel within the HO ODUk. The first byte of each LO ODTU is aligned with the HO ODUk Tributary Multiframe. Bytes of an ODTU are grouped into M-byte words, where M is the number of Tributary Slots (TribSlots) allocated to the ODTU. For identifying Data vs Stuff words in GMP, words are numbered using an index j. The first word is given j=1.
In a typical 100 Gbps bandwidth device, the datapath width (W) is typically W=32 to W=64 bytes. W is expected to grow for 400 Gbps and 1 Tbps bandwidth devices of the future. The number of Tributary Slots (M) allocated to a LO ODUk in the HO carrier varies. Some ITU-T G.709 values of M are as follows: ODU1: M=2; ODU2: M=8; ODU3: M=32; ODU4: M=80; and ODUflex: M=Variable.
FIGS. 3A and 3B show an ODU2 multiframe with three LO channels, an ODU0, ODU1 and ODUflex5. The Tributary Slots in the HO are split into a repeating sequence of LO TS allocated based on rate. ODU0=1 TS (Channel A), ODU1=2 TS (Channel B), and ODUflex5=5 TS (Channel C). The label within each byte shows the channel and the GMP byte count for the first word of each row.
When demultiplexing, the ODU overhead is removed and the resultant OPU (columns 17-3824) are demultiplexed into the Optical Channel Data Transport Units (ODTU). An ODTU2.1 is shown in FIG. 4 (channel A), ODTU12 in FIG. 5 (channel B) and ODTU2.5 in FIG. 6 (channel C).
LO clients can be added or removed from a HO carrier without affecting any other LO clients. In addition, in ITU-T G.7044, a LO ODUflex Generic Framing Procedure (GFP) channel can be hitlessly resized (up or down) without affecting any other LO clients.
GMP is a generic mapping procedure defined in ITU-T G.709. GMP is used to match the rate of the LO ODUj to the ODTU payload area. The ODTU bytes are then mapped into the OPUk Tributary Slots. Justification Control bytes in the GMP overhead specify the number of M-byte words in each ODTU frame that carry LO ODUj bytes (known as Data Words). The remaining words in the ODTU frame are filled with Stuff Words. The distribution of Data and Stuff words are given by Equations 1 and 2 below.
In Equation 1 and Equation 2, Cm is the number of client Data Words mapped into the payload area of the Server allocated to that client. Each M-byte word is indexed by j, where j=1 to Pm,server M-byte words. Pm,server is the number of words in the ODTU frame. A word is a client Data Word when Equation 1 is satisfied, and is a Stuff Word when Equation 2 is satisfied. An example of how Data and Stuff words may be distributed in an ODTU frame is shown in FIG. 7.client data (D): if (j×Cm)mod Pm,server<Cm  Equation 1stuff (S): if (j×Cm)mod Pm.server≧Cm.  Equation 2
A known implementation of a demultiplexer follows the ITU-T G.709 definitions directly and is shown in FIG. 8. A set of HO ODUk carriers are delivered over a W-byte datapath in a TDM (time division multiplex) fashion. The incoming data is broadcast to a set of N demultiplex blocks, shown in FIG. 8 as Demultiplex0 to Demultiplex 79, one for each potential LO ODU client. For example, a HO ODU4 or a set of ten HO ODU2's can support up to 80 LO ODU0 clients. Each De-Multiplex block extracts bytes in the HO ODUk words that belong to the associated LO ODU client, and assembles them into W-byte words. The words are stored in separate ODTU FIFOs, shown in FIG. 8 as FIFO 0 to FIFO 79, one for each LO ODU client. The LO ODU client words contain both Data and Stuff bytes. A scheduler reads from each ODTU FIFO at a rate proportional to the number of Tributary Slots assigned to the LO ODU client. The words read from the ODTU FIFO is passed the GMP processor, shown in FIG. 8 as GMP Compactor, to identify Data and Stuff bytes. A typical implementation of the GMP Compactor or the GMP block is to first identify the GMP offset (j) of each byte and from that determine if it is a client data (D) or stuff (S), using Equation 1 and Equation 2. For a datapath width of W bytes, up to W decisions are required per clock cycle. The GMP Compactor block removes the Stuff bytes and the Word Maker constructs W-byte words of client data bytes.
As line rates go up, the container sizes increases but the granularity remains the same. A system can now have ODU4 carriers each with 80 Tributary Slots which results in large multiplexing structures with a huge number of potential combinations. The structure requires a large set of multiplexers, as well as a corresponding large set of demultiplexers, which need to be configured based on the datapath width (W) and the number of HO Tributary Slots. Further complicating the configuration is that the HO Tributary Slot number may not be divisible by the datapath width. The large number of LO TribSlots within the HO may mean that many cycles of the datapath are required before a single HO cycle is ready, resulting in multiple stages of storage.
An implementation should also be flexible to add or remove channels, or do ODUflex hitless resizing. This requires that the justification patterns can be changed on the fly and coordinated between the justification, multiplexing, demultiplexing, and justification removal stages. The data that is in FIFOs cannot be corrupted between justification contexts, and more importantly information pertaining to the context must pass through FIFOs.
It is, therefore, desirable to adjust provide an improved method and apparatus for demultiplexing high order ODUk to lower order ODUj signals in an optical transport network.